package com.kexio.enterprise.observability.tracing.statistics;

import java.util.Map;

/**
 * 追踪统计
 * 
 * @author Kexio
 * @since 1.0.0
 */
public class TracingStatistics {
    private long totalTraces;
    private long totalSpans;
    private double averageDuration;
    private long maxDuration;
    private long minDuration;
    private long errorCount;
    private double errorRate;
    private Map<String, Long> operationStats;
    private Map<String, Long> statusStats;

    // Getters and Setters
    public long getTotalTraces() { return totalTraces; }
    public void setTotalTraces(long totalTraces) { this.totalTraces = totalTraces; }
    
    public long getTotalSpans() { return totalSpans; }
    public void setTotalSpans(long totalSpans) { this.totalSpans = totalSpans; }
    
    public double getAverageDuration() { return averageDuration; }
    public void setAverageDuration(double averageDuration) { this.averageDuration = averageDuration; }
    
    public long getMaxDuration() { return maxDuration; }
    public void setMaxDuration(long maxDuration) { this.maxDuration = maxDuration; }
    
    public long getMinDuration() { return minDuration; }
    public void setMinDuration(long minDuration) { this.minDuration = minDuration; }
    
    public long getErrorCount() { return errorCount; }
    public void setErrorCount(long errorCount) { this.errorCount = errorCount; }
    
    public double getErrorRate() { return errorRate; }
    public void setErrorRate(double errorRate) { this.errorRate = errorRate; }
    
    public Map<String, Long> getOperationStats() { return operationStats; }
    public void setOperationStats(Map<String, Long> operationStats) { this.operationStats = operationStats; }
    
    public Map<String, Long> getStatusStats() { return statusStats; }
    public void setStatusStats(Map<String, Long> statusStats) { this.statusStats = statusStats; }
}
